package com.gbas.comu.util;

import com.gbas.comu.dao.DaoService;
import com.gbas.comu.model.Equipo;
import com.gbas.comu.model.Futbolista;
import com.gbas.comu.model.Jugador;
import com.gbas.comu.model.Liga;
import com.gbas.comu.service.FutbolistaService;

import javax.persistence.EntityManager;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class DataTest {

    public static void createDataTest() {
        try {
            EntityManager em = EMF.get().createEntityManager();
            EntityManagerUtil.ENTITY_MANAGERS.set(em);


            final List<Liga> ligas = DataTest.getLigas();

            for (Liga liga : ligas) {
                DaoService.getLigaDAO().saveCommit(liga);
            }

            Liga liga = DaoService.getLigaDAO().findAll().get(0);

            final List<Jugador> jugadores = DataTest.getJugadores();
            for (Jugador jugador : jugadores) {
                jugador.setLiga(liga);
                liga.addJugador(jugador);
                DaoService.getJugadorDAO().saveCommit(jugador);
            }


            FutbolistaService.fichaFutbolista(1L, 1L);
            final List<Futbolista> futbolistasSinJugador = FutbolistaService.getFutbolistasSinJugador(1L);

            EntityManagerUtil.ENTITY_MANAGERS.remove();
        } catch (Exception e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
    }

    public static List<Liga> getLigas() {
        List<Liga> ligas = new ArrayList<Liga>();
        Liga liga2012 = new Liga();
        liga2012.setJornadaActual(0);
        liga2012.setStadoLiga(Liga.EstadoLiga.LIGA_REGISTRO_PREVIO);


        ligas.add(liga2012);

        return ligas;
    }



    public static List<Jugador> getJugadores() {
        List<Jugador> jugadores = new ArrayList<Jugador>();


        Jugador fidel = new Jugador();

        fidel.setNombre("Fidel");
        fidel.setEmail("fidelgq@gmail.com");
        fidel.setEuros(20000);
        fidel.setNombreEquipo("Teodoricos");
        fidel.setPassword("ensidesa");
        fidel.setPuntos(0);

        jugadores.add(fidel);

        return jugadores;
    }


}
